home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 98
/
Skunkware 98.iso
/
src
/
interp
/
perl5.005.tar.gz
/
perl5.005.tar
/
perl5.005
/
XSlock.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-07-21
|
612b
|
36 lines
#ifndef __XSlock_h__
#define __XSlock_h__
class XSLockManager
{
public:
XSLockManager() { InitializeCriticalSection(&cs); };
~XSLockManager() { DeleteCriticalSection(&cs); };
void Enter(void) { EnterCriticalSection(&cs); };
void Leave(void) { LeaveCriticalSection(&cs); };
protected:
CRITICAL_SECTION cs;
};
XSLockManager g_XSLock;
class XSLock
{
public:
XSLock() { g_XSLock.Enter(); };
~XSLock() { g_XSLock.Leave(); };
};
CPerlObj* pPerl;
#undef dXSARGS
#define dXSARGS \
dSP; dMARK; \
I32 ax = mark - PL_stack_base + 1; \
I32 items = sp - mark; \
XSLock localLock; \
::pPerl = pPerl
#endif